#StaticPass.py
import sys
sys.path.append(sys.path[0] + "/../interpreter")
sys.path.append(sys.path[0] + "/ply-2.5/")
from functionBinding import functionBinding
from functionDef import functionDef
from application import application
from Return import Return
from builtin import *
from varRef import varRef
from jsobject import *
from interpreter import interpreter
from endvals import *
from objectOps import *
from sequence import *
from conditionals import *
from sequence import *
from varBinding import *
from varMut import *
from customExceptions import *
from expression import *

sys.path.append(sys.path[0] + "/../LLVM")
from llvmhelper import *


#Add tags in each of the AST classes

#in the static pass go through each function binding and construct a table of functions



class StaticPass:
	def __init__(self, AST, helper):
		self.AST = AST
		self.helper = helper

	def run(self):
		self.AST.traverse(self.helper)
		

			
		





		
